package com.xbongbong.pro.enums.smartsettings.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import java.util.ArrayList;
import java.util.List;
import lombok.Getter;

/**
 * @description: 智能助手执行动作枚举
 * @Author: hongxiao
 * @date: 2019-04-23 16:58
 * @since v1.0
 */
@Getter
public enum SmartActionTypeEnum {
    /**
     * 执行动作,1消息，2短信，3新增访客，4新增任务
     */
    MESSAGE(1, "enum.smartActionType.memo.message"),

    SMS(2, "enum.smartActionType.memo.sms"),

    ADD_COMMUNICATE_PLAN(3, "enum.smartActionType.memo.add_communicate_plan"),
    ADD_TASK(4, "enum.smartActionType.memo.add_task"),
    ;
    /**
     * 执行动作标示值
     */
    private Integer code;

    /**
     * 执行动作描述
     */
    private String memo;

    SmartActionTypeEnum(Integer code, String memo) {
        this.code = code;
        this.memo = memo;
    }

    public static SmartActionTypeEnum getByCode(Integer code){
        for(SmartActionTypeEnum saasMarkEnum: values()){
            if(saasMarkEnum.getCode().equals(code)){
                return saasMarkEnum;
            }
        }
        return null;
    }

    /**
     * 获取全部枚举
     *
     * @return List<SmartActionTypeEnum>
     */
    public static List<SmartActionTypeEnum> getAllEnum() {
        List<SmartActionTypeEnum> list = new ArrayList<>();
        for (SmartActionTypeEnum cache : values()) {
            list.add(cache);
        }
        return list;
    }

    public String getMemo() {
        return I18nMessageUtil.getMessage(memo);
    }
}
